1. Field of the Invention
The present invention relates to a hard disc drive controlling method and, more particularly, to a method of controlling track seek in a hard disc drive (HDD) provided against a shift between discs, and a computer readable recording medium having embodied thereon a computer program for the method.
2. Description of the Related Art
Generally an HDD includes a plurality of heads capable of writing and reading information by sensing a magnetic field on a disc and magnetizing a part. Information is stored on tracks each having a concentric circle shape. Each track has a unique disc number and track number (address), and among a plurality of discs, tracks having an identical track address are referred to as a cylinder. Accordingly, each track is also defined by a cylinder address.
Each head (transducer) is integrated into the inside of a slider, which is typically incorporated into a head gimbal assembly (HGA). Each HGA is attached to an actuator arm. The actuator arm has a voice coil located close to a magnetic assembly defining a voice coil motor together. An HDD typically includes a driving circuit and a controller providing a current exciting the voice coil motor. The excited voice coil motor rotates the actuator arm such that heads are moved across the surface of the disc(s).
When information is written or read, the HDD can perform a track seek operation to move a head from one cylinder to another cylinder. By the track seek operation, the voice coil motor is excited so that the head is moved from one cylinder on the disc surface to another cylinder. The controller controls a current to be provided to the voice coil motor so that the head can be moved accurately to a target cylinder and the center of a track.
FIG. 1 illustrates the structure of the conventional track seek controlling apparatus using a sine wave profile. A track seek controller 100 includes a sine wave trajectory generator 102, a notch filter, a VCM driver 126, a hard disc assembly (HAD) 128, and an estimator 104.
The track seek controller 100 shown in FIG. 1 performs a track seek control routine to move a head to a target track which is apart from the first track by track seek length KSK.
The sine wave trajectory generator 102 generates a sine wave profile, that is, position y*(k), velocity v*(k), and acceleration a*(k) with respect to the sine wave acceleration trajectory, at each sampling cycle Ts.
In order to obtain sine function and cosine function values used to generate a sine wave acceleration trajectory, the values of sine function and cosine function are sampled in synchronization with sampling cycle Ts, and stored in a ROM table, such that the functions can be read in synchronization with sampling cycle Ts.
The ROM table stores a sine function and a cosine function at an initial sampling cycle in relation to several frequencies that are representative, that is, representative frequencies. The sine function and cosine function values of the initial cycle in relation to a frequency between representing frequencies are determined by interpolation. Here, a frequency corresponds to the track seek length. That is, if track seek length is given, the frequency of a sine wave is determined accordingly.
FIG. 2 illustrates a position trajectory (y), a velocity trajectory (v) and an acceleration trajectory (a) in the apparatus shown in FIG. 1. In FIG. 2, the time axis is normalized based on track seek time TSK. That is, FIG. 2 shows an acceleration trajectory (a), a velocity trajectory (v) and a position trajectory (y) when given track seek time TSK is 1.
Referring to FIG. 2, it can be seen that track seek time TSK corresponds to one cycle of the acceleration trajectory (a) in the form of a sine wave. Also, it can be seen that, by controlling the motion of a head to have the acceleration trajectory (a), the head moves by track seek length KSK during seek time TSK.
The estimator 104 outputs the estimated position y(k) and estimated velocity v(k) of the head by referring to the positions of the head at the previous samples (k−1, k−2, . . . ) and the current sample (k).
The position of a track, that is, the track number, can be identified through a gray code recorded in a sector area, and the head reads the gray code while moving on the disc. The gray code read through the head is provided to the estimator 104.
FIG. 3 illustrates discs arranged in an HDD. The HDD normally has two or more discs 32, 34, and 36, and the discs are fixed on a hub 38. The hub 38 is rotated by a spindle motor.
When the discs 32, 34, and 36 are assembled to the hub 38, it is preferable that mechanical twist occurs as little as possible.
After the HDD is assembled, a reference servo signal is recorded on one of the discs 32, 34 and 36. The disc on which the reference servo signal is recorded is referred to as a reference disc, while the others are referred to as blank discs.
After that, the reference servo signal recorded on the reference disc is copied to the others through a servo copy process.
As a result of precise servo copying, tracks (cylinder) on a vertical line have an identical track address.
However, if a mechanical twist between discs occurs by an external shock while the HDD is used under a user environment, or by its own deformation, tracks on a vertical line turn not to have an identical track address. This is referred to as a shift between discs.
FIG. 4 illustrates a case where a shift between discs occurs. Referring to FIG. 4, there is no shift between disc 2 and disc 1 whereas there is a shift between discs 2 and 1 and disc 0.
As the track density of an HDD increases, the influence of a disc shift becomes relatively bigger. Also, with the decreasing diameter of a disc, a disc shift by an assembly tolerance becomes relatively greater. Accordingly, an HDD with a smaller size and higher capacity has a higher probability that the seek operation becomes unstable or fails in the predetermined seek range.
FIG. 5 is a flowchart of the operations performed by the conventional track seek controlling method including disc switching.
First, head switching to a disc on which there is a target track is performed in operation S502.
By referring to the previous target track address and the target track address, track seek length and a seek profile thereof are determined in operation S504. Here, the previous target track address indicates the target track address of the previous track seek operation and is regarded as the address of the track in which the current head is placed in the current track seek operation.
According to the seek profile determined in operation S504, track seek is performed in operation S506.
Referring to FIG. 4, in the case of track seek between disc 1 and disc 2 where there is no shift, even if the conventional track seek controlling method is applied as shown in FIG. 5, it does not matter. More specifically, when track seek is performed from position A of disc 2 where the track address is #1000, to position C of disc 1 where the track address is #1060, the track seek length calculated in operation S504 and the actual track seek length are both 60 and identical. Accordingly, by moving the head according to a profile corresponding to the track seek length 60, the head can be accurately moved to position C.
However, when the conventional track seek controlling method as shown in FIG. 5 is applied to the track seek between disc 1 and disc 0 having a shift as shown in FIG. 4, a problem occurs. More specifically, when track seek is performed from position C of disc 1 where the track address is #1000, to position D of disc 0 where the track address is #1060, the track seek length calculated in operation S504 is 60, but the actual track seek length is just 10 by the disc shift. Accordingly, if the head is moved by a profile corresponding the track seek length of 60 calculated in operation S504, the head cannot be moved accurately to position D and in addition, seek failure or vibration occurs in the worst case.
FIG. 6 is a waveform diagram showing the result of a track seek between discs having a shift according to the conventional track seek controlling method.
Referring to FIG. 6, a waveform indicated by reference number 60 shows a sine waveform, a waveform indicated by reference number 62 shows a target current profile generated with respect to the seek length and time, and a waveform indicated by reference number 64 shows a final driving current of the voice coil motor provided to the voice coil motor by a servo control system. Referring to the voice coil motor driving current 64, it can be seen that a steep peak appears at the end of track seek.
This peak occurs as the estimator 104 shown in FIG. 2 reflects an error corresponding to the shift amount in the process of performing feed back control by referring to a track address read from the disc while the head is moved by a given profile 60.
This peak in the voice coil motor driving current 64 gives a sudden shock to the voice coil motor, and by this shock, vibration is generated, and in some cases, track seek fails. Accordingly, a track seek controlling method considering the shift of a disc is needed.